home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 38 / Amiga Format CD38 (1999-03-15)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-04].iso / -screenplay- / hd_installers / -whdload- / whdload_dev / src / slave-examples / winditup.asm < prev   
Assembly Source File  |  1998-07-16  |  3KB  |  121 lines

  1. ;*---------------------------------------------------------------------------
  2. ;  :Program.    winditup.asm
  3. ;  :Contents.    Slave for "Wind it up" from XYMOX Project
  4. ;  :Author.    WEPL
  5. ;  :Version.    $Id: winditup.asm 1.3 1998/06/27 23:50:34 jah Exp jah $
  6. ;  :History.    04.09.97 start
  7. ;  :Requires.    -
  8. ;  :Copyright.    Public Domain
  9. ;  :Language.    68000 Assembler
  10. ;  :Translator.    Barfly V1.131
  11. ;  :To Do.
  12. ;---------------------------------------------------------------------------*
  13.  
  14.     INCDIR    Includes:
  15.     INCLUDE    whdload.i
  16.  
  17.     IFD BARFLY
  18.     OUTPUT    "dwart:xymox winditup/winditup.slave"
  19.     BOPT    O+ OG+                ;enable optimizing
  20.     BOPT    ODd- ODe-            ;disable mul optimizing
  21.     BOPT    w4-                ;disable 64k warnings
  22.     SUPER                    ;disable supervisor warnings
  23.     ENDC
  24.  
  25. ;======================================================================
  26.  
  27. .base        SLAVE_HEADER            ;ws_Security + ws_ID
  28.         dc.w    4            ;ws_Version
  29.         dc.w    WHDLF_Disk|WHDLF_NoError ;ws_flags
  30.         dc.l    $fb000            ;ws_BaseMemSize
  31.         dc.l    0            ;ws_ExecInstall
  32.         dc.w    _Start-.base        ;ws_GameLoader
  33.         dc.w    0            ;ws_CurrentDir
  34.         dc.w    0            ;ws_DontCache
  35. _keydebug    dc.b    0            ;ws_keydebug
  36. _keyexit    dc.b    $59            ;ws_keyexit = F10
  37.  
  38. ;======================================================================
  39.  
  40.     IFD BARFLY
  41.         dc.b    "$VER: WindItUp.Slave by Wepl "
  42.     DOSCMD    "WDate >T:date"
  43.     INCBIN    "T:date"
  44.         dc.b    0
  45.     ENDC
  46.     EVEN
  47.  
  48. ;======================================================================
  49. _Start    ;    A0 = resident loader
  50. ;======================================================================
  51.  
  52.         lea    (_resload,pc),a1
  53.         move.l    a0,(a1)            ;save for later use
  54.  
  55.         move.l    #CACRF_EnableI,d0    ;enable instruction cache
  56.         move.l    d0,d1            ;mask
  57.         jsr    (resload_SetCACR,a0)
  58.         
  59.     ;install keyboard quitter
  60.         bsr    _SetupKeyboard
  61.  
  62. _restart    moveq    #0,d0            ;offset
  63.         move.l    #$5800,d1        ;size
  64.         moveq    #1,d2            ;disk
  65.         lea    $4fc04,a0        ;destination
  66.         move.l    (_resload),a2
  67.         jsr    (resload_DiskLoad,a2)
  68.         
  69.         patch    $50154,_1
  70.         jmp    $50000            ;decrunch
  71.  
  72. _1        patch    $13a4e,_loader
  73.         patch    $21a2,_2
  74.         jmp    $2008
  75.  
  76. _2        patch    $80176,_3
  77.         jmp    $80000            ;decrunch
  78.  
  79. _3        patch    $fa5b2,_loader
  80.         patch    $f012c,_4
  81.         jmp    $f0008
  82.  
  83. _4        clr.w    $526fe            ;preserve ints
  84.         patch    $52880,_5
  85.         jmp    $52500
  86.  
  87. _5        move.w    #250,d2
  88. .wait        waitvb    a0
  89.         dbf    d2,.wait
  90.         bra    _restart
  91.  
  92. _loader        move.w    #200,d2
  93. .wait        waitvb
  94.         dbf    d2,.wait
  95.         mulu    #512*11,d0        ;offset
  96.         mulu    #512*11,d1        ;size
  97.         moveq    #1,d2            ;disk
  98.         move.l    (_resload),a2
  99.         jmp    (resload_DiskLoad,a2)
  100.  
  101. ;--------------------------------
  102.  
  103. _resload    dc.l    0        ;address of resident loader
  104.  
  105. ;--------------------------------
  106.  
  107. _exit        pea    TDREASON_OK
  108.         bra    _end
  109. _debug        pea    TDREASON_DEBUG
  110. _end        move.l    (_resload),-(a7)
  111.         add.l    #resload_Abort,(a7)
  112.         rts
  113.  
  114. ;======================================================================
  115.  
  116.     INCLUDE    Sources:whdload/keyboard.s
  117.  
  118. ;======================================================================
  119.  
  120.     END
  121.